// pages/statistics/statistics.js
import Toast from '@vant/weapp/toast/toast';
import Ajax from "../../utils/ajax"
import Api from "../../utils/api"
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    latitude: 39.909,
    longitude: 116.39742,
    covers: [], //标记点用于在地图上显示标记的位置
    mappoint:[], // 缩放视野以包含所有给定的坐标点
    loading: false,
    getDate:{
      page:1,
      pageSize: 90,
      openid:''
    },
    list:[],
    total:0,
    signNumber:0,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      signNumber:app.globalData.signNumber
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    if(app.globalData.signNumber == -1){
      this.getUserSign()
    }
    this.getList()
  },

  // 查询用户今日打卡情况
  getUserSign: function(){
    Ajax.get(Api.wx.getSign,{openid: app.globalData.openid}).then(res=>{
      this.setData({
        signNumber: res,
      })
      app.globalData.signNumber = res
    })
  },

  // 查询用户打卡记录
  getList: function(page=1){
    if(app.globalData.openid){
      if(page==1){
        // 第一页还原数据
        this.setData({
          list: [],
          total:0
        })
      }
      this.setData({
        loading: true,
        'getDate.page': page,
        'getDate.openid': app.globalData.openid
      })
      Toast.loading({
        duration: 0, // 持续展示 toast
        forbidClick: true,
      });
      Ajax.get(Api.wx.getUserSign,this.data.getDate).then(res=>{
        wx.nextTick(() => {Toast.clear();})
        this.setData({
          loading: false,
          list: [...this.data.list, ...res.records],
          total: res.total
        })
        this.showMap()
      })
    }
  },

  showMap: function(){	// 地图上面显示定位点
    let newdata = this.data.list;
    let newmapdata = [];
    let newmappoint = [];
    for(let i= 0;i<newdata.length; i++){
      if (newdata[i].longitude != null && newdata[i].latitude != null){
      newmapdata.push({
        id:newdata[i].id,
        iconPath: '../../static/location.png',
        longitude: newdata[i].longitude,
        latitude: newdata[i].latitude,
        width:'50',
        height:'50',
        callout:{
          content: newdata[i].time
        }
      });
      newmappoint.push({
        longitude: newdata[i].longitude,
        latitude: newdata[i].latitude,
      });
      }
    }
    this.setData({
      covers: newmapdata,
      mappoint: newmappoint
    })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})